* regressions_pgformal_bite_industry.do	JEP	04/05/15
* Does regressions that are in the term paper, for formal workers: pgf
* Monthly wages
* Exclude some industries
* Do regressions by city - industry
* Passthru - Global a formal

*************************** Change log ********************************** 

/*
	
*/	

clear 
version 13.1

* Project info
cap project, doinfo
if _rc==198 {
	if c(os)=="Unix" loc master "/home/jperez/AA_Minimum_Wage" 
 else if c(username)=="J16339" loc master "B:\Col_Minimum_Wage"
	else loc master "C:/Users/jorpp/Dropbox (Brown)/Col_Minimum_Wage"
 loc pr = 0
}
else {
	local master "`r(pdir)'"
	local doname "`r(dofile)'"  
 loc pr = 1
	* Project calls
	project, uses("`master'/Data/Source/ocupados_mw.dta")
	* Call programs
	project, relies_on("`master'/Code/Est/sample_choice.do")
	project, relies_on("`master'/Code/Est/build_mw_measures.do")
	project, relies_on("`master'/Code/Est/build_treatment.do")
	project, relies_on("`master'/Code/Est/export_rif.do")
	project, relies_on("`master'/Code/Est/confirmedrun.do")
	project, relies_on("`master'/Code/Est/graph_rif.do")
}
*/


* Call necessary programs. I do not call using project to carry the programs around. I do not put these in the ado/personal folder because they are specific to the project. They are not ado files.
do "`master'/Code/Est/sample_choice.do"
do "`master'/Code/Est/build_mw_measures.do"
do "`master'/Code/Est/build_treatment.do"
do "`master'/Code/Est/export_rif.do"
do "`master'/Code/Est/confirmedrun.do"
do "`master'/Code/Est/graph_rif.do"


use "`master'/Data/Source/ocupados_mw.dta", clear

* Choose quantiles
glo qtiles "5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90"
* glo qtiles "90"
* Number of bootstraps
glo boot=10


* Choose sample - all workers to generate mw measure
mysample pgfsample1 , hmin(30) hmax(50) sex(0) edadm(65) wage(salario) formal exind(13,29,42)
mysample pgfsample2 , hmin(30) hmax(50) sex(0) edadm(65) wage(salario) informal exind(13,29,42)
mysample pgfsample3 , hmin(30) hmax(50) sex(0) edadm(65) wage(salario) informal domestic exind(13,29,42)
gen pgfsample= (pgfsample1 | pgfsample2 | pgfsample3)

* Build mw measures
mw_measures pgfsample , stub(pgf)

* Now go back to formal sample for impact
replace pgfsample=pgfsample1
drop pgfsample1 pgfsample2 pgfsample3

* Build treatment
mytreatment, posts("tq(1999q1)") mw(bite_pgf_ind) wage(salario_mensual_real)

* RIF regressions

* Create estimation results folder if it doesn't already exist
cap mkdir "`master'/Ster"
cap mkdir "`master'/Ster/pgf_new_ind"

* For these I'm going to assume the clusters are the city - industry pairs. This assumes that there is not correlation within city across industries, only within those pairs. Could also run with the standard clustering by city, but that would mean that I'm not really increasing the sample size by running within industry.

* The number of clusters is large rerun enough that I don't need the full CGM framework, can run just with cluster
egen city_ind=group(ccode cactividad_empresa)

foreach x in $qtiles {
	di " Percentile `x'"
	loc fw: word 1 of $qtiles
	loc count: word count $qtiles
	di `count'
	loc lw: word `count' of $qtiles
	if `x'==`lw' & `pr'!=0 loc reg="register"
	else loc reg ""
	if `x'==`fw' loc r="replace"
	else loc r="append"
	
	/*
	* Panel A. Employment
	confirmedrun, `reg' controls() name(`master'/Ster/pgf_new_ind/reg_emp_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfA) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun
	* cgmrif2 lw treat i.ccode i.time emp if pgfsample , hyp(0) boot($boot) cluster(ccode) x(treat) i(ccode) t(time) q(`x') rif(pgfA`x')
	* exportrif, name(`master'/Ster/pgf_new/reg_emp_tq(1999q1)_bite_salario_mensual_real_50_edom) p(`x') r(`r')
	
	* Panel B. Employment and Bartik Price Variable
	confirmedrun, `reg' controls(bartikp1_ex) name(`master'/Ster/pgf_new_ind/reg_emp_bp_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfB) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun 
	* Panel C. Employment and Bartik Quantity Variable
	confirmedrun, `reg' controls(bartikq_ex) name(`master'/Ster/pgf_new_ind/reg_emp_bq_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfC) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun 
	* Panel D. Employment and City Trends
	confirmedrun, `reg' controls(i.ccode#c.trend) name(`master'/Ster/pgf_new_ind/reg_sst_emp_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfD) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun
	* Panel E. Employment, Bartik Price Variable and City Trends
	confirmedrun, `reg' controls(i.ccode#c.trend bartikp1_ex) name(`master'/Ster/pgf_new_ind/reg_sst_emp_bp_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfE) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun 
	* Panel F. Employment, Bartik Quantity Variable and City Trends
	confirmedrun, `reg' controls(i.ccode#c.trend bartikq_ex) name(`master'/Ster/pgf_new_ind/reg_sst_emp_bq_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfF) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun 
	* Panel G. Employment, Bartik Price Variable - Industry fe, city fe and interactions
	confirmedrun, `reg' controls(bartikp1_ex) name(`master'/Ster/pgf_new_ind/reg_emp_bp_ixc_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfG) p(`x') r(`r') sample(pgfsample) fe(i.ccode##i.cactividad_empresa i.time) cluster(city_ind) large rerun
	* Panel H. Employment, Bartik Quantity Variable and City - Industry fe, city fe and interactions
	confirmedrun, `reg' controls(bartikq_ex) name(`master'/Ster/pgf_new_ind/reg_emp_bq_ixc_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfH) p(`x') r(`r') sample(pgfsample) fe(i.ccode##i.cactividad_empresa i.time) cluster(city_ind) large rerun
	* Panel I - Employment, Bartik Price Variable - Industry fe, city fe and interactions - City Industry trends
	confirmedrun, `reg' controls(bartikp1_ex) name(`master'/Ster/pgf_new_ind/reg_ct_emp_bp_ixc_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfI) p(`x') r(`r') sample(pgfsample) fe(i.ccode##i.cactividad_empresa i.ccode#i.cactividad_empresa#c.trend i.time) cluster(city_ind) large rerun	
	* Panel J. Employment, Bartik Quantity Variable and City - Industry fe, city fe and interactions
	confirmedrun, `reg' controls(bartikq_ex) name(`master'/Ster/pgf_new_ind/reg_ct_emp_bq_ixc_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfJ) p(`x') r(`r') sample(pgfsample) fe(i.ccode##i.cactividad_empresa i.ccode#i.cactividad_empresa#c.trend i.time) cluster(city_ind) large rerun
	* Panel K. Employment by industry, Bartik Price Variable and City Trends
	confirmedrun, `reg' controls(i.ccode#c.trend bartikp1_ex empind) name(`master'/Ster/pgf_new_ind/reg_sst_empind_bp_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfK) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun 
	* Panel L. Employment by industry, Bartik Quantity Variable and City Trends
	confirmedrun, `reg' controls(i.ccode#c.trend bartikq_ex empind) name(`master'/Ster/pgf_new_ind/reg_sst_empind_bq_tq(1999q1)_bite_salario_mensual_real_50_edom_ind) rif(pgfL) p(`x') r(`r') sample(pgfsample) fe(i.ccode#i.cactividad_empresa i.time) cluster(city_ind) large rerun 
	*/
}

* Graph results and export

clear

cap program drop mex
program define mex
	cap mkdir "`2'/Doc/ster_figures/pgf_new_ind"
	cap mkdir "`2'/Doc/ster_figures/pgf_new_ind/1999q1"
	graph export "`2'/Doc/ster_figures/pgf_new_ind/1999q1/`1'.eps", replace
	! epstopdf "`2'/Doc/ster_figures/pgf_new_ind/1999q1/`1'.eps"
	erase "`2'/Doc/ster_figures/pgf_new_ind/1999q1/`1'.eps"
	* project, creates("`master'/Doc/descriptive_figures/density/`1'.pdf")
end	

foreach spec in reg_emp reg_emp_bp reg_emp_bq reg_sst_emp_bp reg_sst_emp_bq reg_emp_bq_ixc reg_emp_bp_ixc reg_ct_emp_bp_ixc reg_ct_emp_bq_ixc	{
	graph drop _all
	graphrif, master("`master'") ster(Ster) folder(pgf_new_ind) qtiles($qtiles) spec(`spec') time(tq(1999q1)) rareaopts(bcolor(gs13))twowayopts(title("Formal sector - Bite - By city industry" "`spec' - 1999q1" ) xtitle(Percentile) ytitle(Coef) yscale(range(-0.0075 0.0075)) ylabel(-0.0075(0.0025)0.0075) yline(0))
	mex `spec' `master'
}
